package com.itheima.day10;

import java.util.ArrayList;

/*

    定义测试类，完成以下需求:
    定义 public static ArrayList<Car> filter(ArrayList<Car> list,double price,int mile){}方法
    ，
    实现遍历ArrayList集合，将集合中价格低于参数price，并且续航不低于参数mile的元素，存入到另一个集合中中并返回

    main方法中实例化三个汽车对象，"奔驰",780000,450、"宝马",450000,500、"奥迪",380000,400

    将三个对象添加到ArrayList集合中

    调用filter()方法传入参数list_car、500000和400，根据返回的list集合打印所有元素信息
 */
public class CarTest01 {

    public static void main(String[] args) {

        ArrayList<Car01> list_car=new ArrayList<Car01>();



        Car01 c1=new Car01("奔驰",780000,450);
        Car01 c2=new Car01("宝马",450000,500);
        Car01 c3=new Car01("奥迪",380000,400);

        list_car.add(c1);
        list_car.add(c2);
        list_car.add(c3);


        ArrayList<Car01> list = filter(list_car,500000,400);

        //获取list元素
        for (int i = 0; i < list.size(); i++) {
            Car01 c=list.get(i);
            System.out.println(c.getBrand()+".."+c.getPrice()+".."+c.getMile());
        }


    }

    public static ArrayList<Car01> filter(ArrayList<Car01> list,double price,int mile){


    //    实现遍历ArrayList集合，将集合中价格低于参数price，

        for (int i = 0; i < list.size(); i++) {

            Car01 ca=list.get(i);
            //    并且续航不低于参数mile的元素，存入到另一个集合中中并返回
            if(ca.getPrice()>price || ca.getMile()<=mile){
                list.remove(i);
                break;
            }else{
                list.add(ca);
            }

        }
        return list;
    }
}
